package org.yelongframework.excel.data.collect.sheet;

import org.yelongframework.excel.data.SheetDatas;
import org.yelongframework.excel.sheet.ExcelSheet;

/**
 * 工作表数据收集器
 * 
 * @since 1.0.0
 */
public interface SheetDataCollector {

	// ==================================================收集==================================================

	/**
	 * 根据数据收集方案收集数据
	 * 
	 * @param excelSheet             工作表
	 * @param sheetDataCollectScheme 收集方案
	 * @return 数据集
	 * @throws SheetDataCollectException 数据收集异常
	 */
	SheetDatas collect(ExcelSheet excelSheet, SheetDataCollectScheme sheetDataCollectScheme)
			throws SheetDataCollectException;

	// ==================================================收集模式==================================================

	/**
	 * @return 数据收集模式
	 */
	SheetDataCollectMode getSheetDataCollectMode();

}
